package com.ydc.ln.tutorial;

import java.io.File;

import org.junit.Test;


/**
 * 批量修改文件名
 * @author yangdc
 *
 */
public class FileNameChange {
	// "E:\\desktop\\api"; 
	private String fileDir = "D:\\WorkStation\\mywork_ydc\\ydc-blog\\WebRoot\\jsp";
	
	@Test
	public void testBatchChangeFileName () {
		batchChangeFileName(fileDir);
	}
	
	/**
	 * <pre>
	 * 需求：
	 * 一个目录下有几十个以css_开头的文件，
	 * 想要把css_去掉
	 * 算法：
	 * 遍历给定目录下的所有文件及目录
	 * 如果是文件，符合某种规则，就对文件进行重命名
	 * </pre>
	 */
	public void batchChangeFileName(String fileDir) {
		String regx = "css_";
		File destFile = new File(fileDir);
		if(!destFile.exists()) {
			return;
		}
		for (File file : destFile.listFiles()) {
			if (file.isFile()) {
				String fileName = file.getName();
				System.out.println(fileName);
				if(fileName.startsWith("css_")) {
					fileName = fileName.replace(regx, "");
					System.out.println("\t" + fileName);
					File renameFile = new File(fileDir + "\\" + fileName);
					if(!file.renameTo(renameFile)) {
						return;
					}
				}
			}
		}
	}
}
